package com.web.dao;

import com.jdbc.DataSourceTool;
import com.web.bean.系表;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

public class 系生源地人数查询 {
    //查询  :   返回结果集  --集合
    public List<系表> queryxibiao() {
        //创建一个集合用于保存数据
        List<系表> list = new ArrayList<>();
        //--获取数据库链接
        Connection connection = DataSourceTool.getConnection();
        // -- 定义sql语句  占位符表示一个动态数据的入参
        String sql = "select x.院系名称 , s.生源地,count(*) from 系别 x  ,学生情况 s where s.院系代号 = x.院系代号 group by 生源地 ,院系名称;";
        try {
            //--通过链接对象获取sql语句对象
            PreparedStatement ps = connection.prepareStatement(sql);//提供sql语句
            //--通过sql语句对象执行sql操作
            ResultSet rs = ps.executeQuery();
            //遍历结果集
            while(rs.next()){
                //创建一个学生情况类型的数据用于获取数据库中相同类型的数据
                系表 stu=new 系表();
                stu.set院系名称(rs.getString(1));
                stu.set生源地(rs.getString (2));
                stu.setCount(rs.getInt (3));
                //把查询结果放入集合中
                list.add(stu);

            }
        } catch (SQLException e) {
            throw new RuntimeException(e);
        }finally {
            //关闭链接
            DataSourceTool.closeConnection(connection);
        }
        return list;
    }

}
